package com.ruoyi.system.service;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.AddSuperviseNoticeDto;
import com.ruoyi.system.domain.SysSuperviseHistory;
import com.ruoyi.system.domain.updateSuperviseNoticeDto;

/**
 * 督查历史记录Service接口
 * 
 * @author ruoyi
 * @date 2025-08-31
 */
public interface ISysSuperviseHistoryService 
{
    /**
     * 查询督查历史记录
     * 
     * @param historyId 督查历史记录主键
     * @return 督查历史记录
     */
    public SysSuperviseHistory selectSysSuperviseHistoryByHistoryId(Long historyId);

    /**
     * 查询督查历史记录列表
     * 
     * @param sysSuperviseHistory 督查历史记录
     * @return 督查历史记录集合
     */
    public List<SysSuperviseHistory> selectSysSuperviseHistoryList(SysSuperviseHistory sysSuperviseHistory);

    /**
     * 新增督查历史记录
     * 
     * @param sysSuperviseHistory 督查历史记录
     * @return 结果
     */
    public int insertSysSuperviseHistory(SysSuperviseHistory sysSuperviseHistory);

    /**
     * 修改督查历史记录
     * 
     * @param sysSuperviseHistory 督查历史记录
     * @return 结果
     */
    public int updateSysSuperviseHistory(SysSuperviseHistory sysSuperviseHistory);

    /**
     * 批量删除督查历史记录
     * 
     * @param historyIds 需要删除的督查历史记录主键集合
     * @return 结果
     */
    public int deleteSysSuperviseHistoryByHistoryIds(Long[] historyIds);

    /**
     * 删除督查历史记录信息
     * 
     * @param historyId 督查历史记录主键
     * @return 结果
     */
    public int deleteSysSuperviseHistoryByHistoryId(Long historyId);

    AjaxResult addProblemNotice(AddSuperviseNoticeDto dto);

    AjaxResult updateProblemNote(updateSuperviseNoticeDto dto);
}
